package SAToDA;

import java.util.ArrayList;

/**
 * Esta classe é uma representação simples de um curso contendo seu código e nome
 * sendo apenas uma classe de apoio
 * @author Grupo G2
 */
public class Curso {
    int codigo;
    String nome;
    ArrayList<Curriculo> currs;
    
    /**
     * Construtor da classe
     * @param codigo Codigo do curso
     * @param nome Nome do curso
     */
    public Curso(int codigo, String nome){
        this.codigo = codigo;
        this.nome = nome;
        currs = new ArrayList<>();
    }

    /**
     * Getter do codigo
     * @return Codigo do curso
     */
    public int getCodigo(){
        return this.codigo;
    }

    /**
     * Getter do nome
     * @return nome do curso
     */
    public String getNome(){
        return this.nome;
    }
    
    public void addCurriculo(Curriculo c) {
        if (!currs.contains(c)) {
            currs.add(c);
        } else {
            // LOGGER: TENTOU ADICIONAR CURRICULO QUE JA TINHA NO CURSO!
        }
    }
    
    public ArrayList<Curriculo> getCurriculos() {
        return currs;
    }
    
    @Override
    public boolean equals(Object obj) {
        if (obj == null || getClass() != obj.getClass()) {
            return false;
        }

        final Curso outra = (Curso) obj;
        
        if (this.codigo != outra.codigo) {
            return false;
        }
        
        if ((this.nome == null) ? (outra.nome != null) : !this.nome.equals(outra.nome)) {
            return false;
        }
        
        return true;
    }
    
}
